<?php declare(strict_types=1);


namespace App\Model\Entity;

use Swoft\Db\Annotation\Mapping\Column;
use Swoft\Db\Annotation\Mapping\Entity;
use Swoft\Db\Annotation\Mapping\Id;
use Swoft\Db\Eloquent\Model;


/**
 * 用户签到时区记录表
 * Class SignTimezoneRecord
 *
 * @since 2.0
 *
 * @Entity(table="sign_timezone_record")
 */
class SignTimezoneRecord extends Model
{
    /**
     * 
     * @Id()
     * @Column()
     *
     * @var int
     */
    private $id;

    /**
     * 用户id
     *
     * @Column(name="member_id", prop="memberId")
     *
     * @var int|null
     */
    private $memberId;

    /**
     * 时区
     *
     * @Column()
     *
     * @var string|null
     */
    private $timezone;

    /**
     * 创建时间
     *
     * @Column(name="created_at", prop="createdAt")
     *
     * @var int|null
     */
    private $createdAt;

    /**
     * 修改时间
     *
     * @Column(name="updated_at", prop="updatedAt")
     *
     * @var int|null
     */
    private $updatedAt;

    /**
     * 原始时区
     *
     * @Column(name="timezone_raw", prop="timezoneRaw")
     *
     * @var string|null
     */
    private $timezoneRaw;


    /**
     * @param int $id
     *
     * @return void
     */
    public function setId(int $id): void
    {
        $this->id = $id;
    }

    /**
     * @param int|null $memberId
     *
     * @return void
     */
    public function setMemberId(?int $memberId): void
    {
        $this->memberId = $memberId;
    }

    /**
     * @param string|null $timezone
     *
     * @return void
     */
    public function setTimezone(?string $timezone): void
    {
        $this->timezone = $timezone;
    }

    /**
     * @param int|null $createdAt
     *
     * @return void
     */
    public function setCreatedAt(?int $createdAt): void
    {
        $this->createdAt = $createdAt;
    }

    /**
     * @param int|null $updatedAt
     *
     * @return void
     */
    public function setUpdatedAt(?int $updatedAt): void
    {
        $this->updatedAt = $updatedAt;
    }

    /**
     * @param string|null $timezoneRaw
     *
     * @return void
     */
    public function setTimezoneRaw(?string $timezoneRaw): void
    {
        $this->timezoneRaw = $timezoneRaw;
    }

    /**
     * @return int
     */
    public function getId(): ?int
    {
        return $this->id;
    }

    /**
     * @return int|null
     */
    public function getMemberId(): ?int
    {
        return $this->memberId;
    }

    /**
     * @return string|null
     */
    public function getTimezone(): ?string
    {
        return $this->timezone;
    }

    /**
     * @return int|null
     */
    public function getCreatedAt(): ?int
    {
        return $this->createdAt;
    }

    /**
     * @return int|null
     */
    public function getUpdatedAt(): ?int
    {
        return $this->updatedAt;
    }

    /**
     * @return string|null
     */
    public function getTimezoneRaw(): ?string
    {
        return $this->timezoneRaw;
    }

}
